package LAGD;

import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import LAGD.ProgettoGUI.registraUtente;

import java.awt.Cursor;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;

import javax.swing.*;

public class finestraAdminUtente extends JFrame {
	ModificaUtente mdu;
	MainProgetto mp = new MainProgetto();
    inserisciDati id;
    modificaDati md;
    //Utente utenteSelezionato;
    Connection conn;
    Utente [] array;
    Utente rigaSelezionata;
    JList<Utente> list;
    Utente ut;
    JMenuItem modificaNome,modificaIndirizzo, modificaCognome, modificaDataNascita,modificaPassword,esporta;
    JMenu export;
    int n=0;
    
	public finestraAdminUtente(final Connection conn){
		this.conn=conn;
		setIconImage(Toolkit.getDefaultToolkit().getImage(ProgettoGUI.class.getResource("/Graphics/architetto-utente-singolo_t.png")));
		setResizable(false);
		getContentPane().setLayout(null);
		
		JMenuBar menuBar = new JMenuBar();
		menuBar.setBounds(0, 0, 680, 21);
		getContentPane().add(menuBar);
		
		JMenu menuFile = new JMenu("File");
		menuFile.setMnemonic('f');
		menuBar.add(menuFile);
		final JMenuItem menuAggiungiUtente1 = new JMenuItem("Aggiungi Utente");
		menuAggiungiUtente1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource()== menuAggiungiUtente1){
					id = new inserisciDati();
					id.setVisible(true);
				}
			}
		});
		menuFile.add(menuAggiungiUtente1);
		
		final JMenu/*Item*/ modificaUtente = new JMenu/*Item*/("Modifica Dati Utente");
		
		
		
		
		/*
		modificaUtente.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(rigaSelezionata!= null ){
					md= new modificaDati();
					md.setVisible(true);
				}
				else {
					JOptionPane.showMessageDialog(null, "Bisogna selezionare un utente");
				}
			}
		});*/
		menuFile.add(modificaUtente);
		//final ProgettoGOi goi=new ProgettoGOi();
		
		export=new JMenu("esporta");
		export.setMnemonic('t');
		esporta=new JMenuItem("esporta tabella in file excel");
		esporta.setMnemonic('s');
		esporta.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0){
				excel exe=null;
				try {
					exe=new excel(conn, ProgettoGOi.url, ProgettoGOi.username, ProgettoGOi.password);
				} catch (ClassNotFoundException | SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				try {
					exe.generateXls("utente", "utenti.xls");
				} catch (SQLException | IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
				JOptionPane.showMessageDialog(null,"Operazione completata con successo");
			}
		});
		menuBar.add(export);
		export.add(esporta);
		
		modificaNome = new JMenuItem("Modifica nome");
		modificaNome.setMnemonic('n');
		//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
		modificaNome.addActionListener(new ActionListener(){
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				if(rigaSelezionata!= null ){
					n=0;
					mdu= new ModificaUtente(rigaSelezionata.getCodiceFiscale(),n);
					mdu.setVisible(true);
				}
				else {
					JOptionPane.showMessageDialog(null, "Bisogna selezionare un utente");
				}
				
			}
			
		});
		modificaUtente.add(modificaNome);
		
		//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
		modificaCognome = new JMenuItem("Modifica cognome");
		modificaCognome.setMnemonic('c');
		modificaCognome.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				if(rigaSelezionata!= null ){
					n=1;
					mdu= new ModificaUtente(rigaSelezionata.getCodiceFiscale(),n);
					mdu.setVisible(true);
				}
				else {
					JOptionPane.showMessageDialog(null, "Bisogna selezionare un utente");
				}
				
			}
			
		});
		modificaUtente.add(modificaCognome);
		modificaIndirizzo = new JMenuItem("Modifica indirizzo");
		modificaIndirizzo.setMnemonic('i');
		//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
		modificaIndirizzo.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				if(rigaSelezionata!= null ){
					n=2;
					mdu= new ModificaUtente(rigaSelezionata.getCodiceFiscale(),n);
					mdu.setVisible(true);
				}
				else {
					JOptionPane.showMessageDialog(null, "Bisogna selezionare un utente");
				}
				
			}
			
		});
		modificaUtente.add(modificaIndirizzo);
		modificaDataNascita = new JMenuItem("Modifica data nascita");
		modificaDataNascita.setMnemonic('d');
		//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
		modificaDataNascita.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				if(rigaSelezionata!= null ){
					n=3;
					mdu= new ModificaUtente(rigaSelezionata.getCodiceFiscale(),n);
					mdu.setVisible(true);
				}
				else {
					JOptionPane.showMessageDialog(null, "Bisogna selezionare un utente");
				}
				
			}
			
		});
		modificaUtente.add(modificaDataNascita);
		modificaPassword=new JMenuItem("Modifica password");
		modificaPassword.setMnemonic('p');
		//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
		modificaPassword.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent arg0) {
				if(rigaSelezionata!= null ){
					n=4;
					mdu= new ModificaUtente(rigaSelezionata.getCodiceFiscale(),n);
					mdu.setVisible(true);
				}
				else {
					JOptionPane.showMessageDialog(null, "Bisogna selezionare un utente");
				}
				
			}
		});
		modificaUtente.add(modificaPassword);
		
		
		
		final JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(31, 67, 617, 294);
		getContentPane().add(scrollPane);
		//TODO
		 list= new JList<Utente>();
		 List<Utente> l;
			l = mp.getAllUtenti(conn);
			array= l.toArray(new Utente[0]);
			
			list = new JList<Utente>();
			
			AbstractListModel<Utente> a=new AbstractListModel<Utente>() {
				public Utente[] values = modificaTesto(array);
				public Utente[] modificaTesto(Utente[] v){
					Utente[]arr=v;
					Arrays.sort(arr);
					return arr;
				}
				public int getSize() {
					return values.length;
				}
				public Utente getElementAt(int index) {
					return values[index];
				}
			};
			
			
			list.setModel(a);
			
			
			list.addListSelectionListener(new ListSelectionListener(){								
				public void valueChanged(ListSelectionEvent arg0) {
					rigaSelezionata=list.getSelectedValue();
				}
			});
			
		scrollPane.setViewportView(list);
		
		final JButton salva = new JButton("salva");
		salva.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/ok.png")));
		salva.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
		salva.setMnemonic('s');
		//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
		//salva.setBounds(581, 387, 89, 33);
		salva.setBounds(556, 387, 104, 33);
		getContentPane().add(salva);
		salva.addActionListener(new ActionListener (){
			public void actionPerformed(ActionEvent e) {
				if(e.getSource()==salva){
					setVisible(false);
				}
			}
		});
		
		
		final JButton annulla = new JButton("indietro");
		annulla.setMnemonic('i');
		//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
		annulla.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
		annulla.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/indietro.png")));
		//annulla.setBorderPainted(false);
		annulla.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource()==annulla){
					setVisible(false);
				}
			}
		});
		annulla.setBounds(298, 387, 119, 33);
		//annulla.setBounds(383, 387, 89, 63);
		getContentPane().add(annulla);
		
		JButton btnAggiorna = new JButton("Aggiorna");
		btnAggiorna.setMnemonic('a');
		btnAggiorna.setToolTipText("Selezionare per aggiornare la lista ");
		btnAggiorna.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
		btnAggiorna.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/refresh.png")));
		//btnAggiorna.setBounds(482, 387, 89, 23);
		btnAggiorna.setBounds(427, 387, 119, 33);
		getContentPane().add(btnAggiorna);
		btnAggiorna.addActionListener(new ActionListener(){
		
		public void actionPerformed(ActionEvent e) {//listener di aggiorna
			List<Utente> l;
			l = mp.getAllUtenti(conn);
			array= l.toArray(new Utente[0]);
			
			list = new JList<Utente>();
			
			AbstractListModel<Utente> a=new AbstractListModel<Utente>() {
				public Utente[] values = modificaTesto(array);
				public Utente[] modificaTesto(Utente[] v){
					Utente[]arr=v;
					Arrays.sort(arr);
					return arr;
				}
				public int getSize() {
					return values.length;
				}
				public Utente getElementAt(int index) {
					return values[index];
				}
			};
			
			
			list.setModel(a);
			
			
			list.addListSelectionListener(new ListSelectionListener(){								
				public void valueChanged(ListSelectionEvent arg0) {
					rigaSelezionata=list.getSelectedValue();
				}
			});
			scrollPane.setViewportView(list);
			
		}
		});//listener di aggiorna
		setTitle("Gestione Utenti");
		setSize(700,470);
		setLocation(200,200);


	}
		
	
	public class inserisciDati extends JFrame implements ActionListener{
		private JTextField source1, source2, source3,source5,source6;
		String codiceFiscale, nomeUtente, indirizzo, passwordU,cognomeUtente,dataNascita;
		private JButton annulla, ok;
		private JTextField source4;
		
		public String getCodiceFiscale(){
			String codiceFiscale=source1.getText();			
			return codiceFiscale;
		}
		public String getPassword(){
			String password=source4.getText();				
			return password.toString();
		}
		
		
		public inserisciDati(){
			setIconImage(Toolkit.getDefaultToolkit().getImage(ProgettoGUI.class.getResource("/Graphics/architetto-utente-singolo_t.png")));
			setTitle("Registra Utente");
			setDefaultCloseOperation(HIDE_ON_CLOSE);
			setResizable(false);
			JPanel p=new JPanel();
			GridBagConstraints gb = new GridBagConstraints();
	   	    gb.gridx = gb.RELATIVE;
			
			p.setLayout(new GridBagLayout());
			
			
			p.add( new JLabel("Codice Fiscale ", JLabel.RIGHT), gb);
			p.add(source1=new JTextField("",16), gb);
			gb.gridy = 1;
			p.add(new JLabel("Nome" , JLabel.RIGHT), gb);
			p.add(source2=new JTextField("",20), gb);
			gb.gridy = 2;
			p.add(new JLabel("Cognome" , JLabel.RIGHT), gb);
			p.add(source5=new JTextField("",20), gb);
			gb.gridy=3;			
			p.add(new JLabel("Indirizzo" , JLabel.RIGHT), gb);
			p.add(source3=new JTextField("",45), gb);
			gb.gridy = 4;
			p.add(new JLabel("Data Nascita  	 DD/MM/YYYY" , JLabel.RIGHT), gb);
			p.add(source6=new JTextField("",20), gb);
			gb.gridy = 5;
			p.add(new JLabel("Password" , JLabel.RIGHT), gb);
			p.add(source4=new JPasswordField("",20), gb);
			
			gb.gridy = 6;
			gb.gridwidth = 0;
			
			annulla=new JButton("Annulla");
			annulla.setMnemonic('a');
			//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
			//annulla.setPressedIcon(new ImageIcon(Prova.class.getResource("/Graphics/PreviousMenuButtonIcon.png")));
			annulla.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
			//annulla.setDebugGraphicsOptions(DebugGraphics.BUFFERED_OPTION);
			//annulla.setBorderPainted(false);
			annulla.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/indietro.png")));
			ok=new JButton("OK");
			ok.setMnemonic('o');
			//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
			//ok.setPressedIcon(new ImageIcon(Prova.class.getResource("/Graphics/NextMenuButtonIcon.png")));
			ok.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
			//ok.setDebugGraphicsOptions(DebugGraphics.BUFFERED_OPTION);
			//annulla.setBorderPainted(false);
			ok.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/ok.png")));
			
			JPanel ct=new JPanel();
			ct.setLayout(new FlowLayout());
			ct.add(annulla);
			ct.add(ok);
			p.add(ct,gb);
			add(p);
			setLocation(250,340);
	   		setSize(610,150);
	   		pack();
	   		source5.addActionListener(this);
	   		source6.addActionListener(this);
	   		source1.addActionListener(this);
	   		 source2.addActionListener(this);
	   		source3.addActionListener(this);
	   		source4.addActionListener(this);
	   		 ok.addActionListener(this);
	   		 annulla.addActionListener(this);
		}

		public void actionPerformed(ActionEvent e) {
			boolean flag=true;
			 if( e.getSource()==source1 ){
				 codiceFiscale=source1.getText();
				 if(codiceFiscale==null||codiceFiscale.equals("")||codiceFiscale.length()==0)
					 flag=false;
				 }
			 if( e.getSource()==source2 ){
				 nomeUtente=source2.getText();
				 if(nomeUtente==null||nomeUtente.equals("")||nomeUtente.length()==0)
					 flag=false;
				}
			 if( e.getSource()==source3 ){
				 indirizzo=source3.getText();
				 if(indirizzo==null||indirizzo.equals("")||indirizzo.length()==0)
					 flag=false;
				}
			 if( e.getSource()==source4 ){
				 passwordU=source4.getText();
				 if(passwordU==null||passwordU.equals("")||passwordU.length()==0)
					 flag=false;
				 }
			 if( e.getSource()==annulla ){
				 setVisible(false);
			 }
			 if(e.getSource()==source5){
				cognomeUtente=source5.getText();
				if(cognomeUtente==null||cognomeUtente.equals("")||cognomeUtente.length()==0)
					flag=false;
				}
			 if(e.getSource()==source6){
				 dataNascita=source6.getText();
				 if(dataNascita==null||dataNascita.equals("")||dataNascita.length()==0)
					 flag=false;
			 }
			 if( e.getSource()==ok ){
				 try{
				 try{
					 String regex="^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{3}[A-Za-z]{1}$";
					 if(!codiceFiscale.matches(regex))
						 throw new RuntimeException();
				 Utente u=new Utente(codiceFiscale, nomeUtente, cognomeUtente,indirizzo,dataNascita, null, null, passwordU);
				 if(flag||codiceFiscale!=null||nomeUtente!=null||cognomeUtente!=null||indirizzo!=null||passwordU!=null){
					 try {
						 mp.inserisciUtente(conn, u);
						 this.setVisible(false);
					 } catch (SQLException e1) {
						 e1.printStackTrace();
					 }
				 } else {
					 JOptionPane.showMessageDialog(null, "Alcuni campi sono vuoti");
				 }
				 }catch(NullPointerException q){
					 JOptionPane.showMessageDialog(null, "Alcuni campi sono vuoti");
				 }
				}catch(RuntimeException o){
					JOptionPane.showMessageDialog(null, "Codice Fiscale non valido");
				}
			 }
		 }
		}
	public class modificaDati extends JFrame implements ActionListener{
		private JTextField textPass;
		
		private JTextField textIndirizzo;
		private JTextField textData;
		private JTextField textCod;
		private JTextField textCognome;
		private JTextField textNome;
		 JButton conferma, annulla;
		String codiceFiscale, nomeUtente, indirizzo, passwordU,cognomeUtente,dataNascita;
		public modificaDati() {
			setIconImage(Toolkit.getDefaultToolkit().getImage(ProgettoGUI.class.getResource("/Graphics/architetto-utente-singolo_t.png")));
			setResizable(false);
			setTitle("Modifica Dati Utente");
			getContentPane().setLayout(null);
			setSize(477,328);
			setLocation(400,400);
			
			conferma= new JButton("Conferma");
			//conferma.setPressedIcon(new ImageIcon(Prova.class.getResource("/Graphics/PreviousMenuButtonIcon.png")));
			conferma.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
			//conferma.setDebugGraphicsOptions(DebugGraphics.BUFFERED_OPTION);
			//annulla.setBorderPainted(false);
			conferma.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/ok.png")));
			conferma.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					if(e.getSource()==conferma)
					//ut=new Utente(codiceFiscale, nomeUtente, cognomeUtente,indirizzo,dataNascita, null, null, passwordU);
					 try {
						 mp.modificaUtente(conn, codiceFiscale, nomeUtente, cognomeUtente, indirizzo, dataNascita);
					} catch (SQLException e1) {
						e1.printStackTrace();
					}
					 setVisible(false);
				}
			});
			conferma.setBounds(380, 256, 90, 50);
			getContentPane().add(conferma);
			
			annulla = new JButton("Annulla");
			annulla.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
			//annulla.setBorderPainted(false);
			annulla.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/indietro.png")));
			annulla.setBounds(290, 256, 86, 50);
			getContentPane().add(annulla);
			annulla.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
					if(e.getSource()==annulla){
						setVisible(false);
					}
				}
				});
			
			JLabel lblPassword = new JLabel("Password");
			lblPassword.setBounds(61, 228, 46, 14);
			getContentPane().add(lblPassword);
			
			textPass = new JTextField(""+rigaSelezionata.getPassword());
			textPass.setBounds(139, 225, 254, 20);
			getContentPane().add(textPass);
			textPass.setColumns(10);
			textPass.addActionListener(this);
			
			textIndirizzo = new JTextField(""+rigaSelezionata.getIndirizzo());
			textIndirizzo.setBounds(139, 184, 255, 20);
			getContentPane().add(textIndirizzo);
			textIndirizzo.setColumns(10);
			textIndirizzo.addActionListener(this);
			
			JLabel lblIndirizzo = new JLabel("Indirizzo");
			lblIndirizzo.setBounds(61, 187, 46, 14);
			getContentPane().add(lblIndirizzo);
			
			textData = new JTextField(""+rigaSelezionata.getDataNascita());
			textData.setBounds(140, 149, 254, 20);
			getContentPane().add(textData);
			textData.setColumns(10);
			textData.addActionListener(this);
			
			JLabel lblDataDiNascita = new JLabel("Data di nascita");
			lblDataDiNascita.setBounds(37, 152, 81, 14);
			getContentPane().add(lblDataDiNascita);
			
			textCod = new JTextField(""+rigaSelezionata.getCodiceFiscale());
			textCod.setBounds(140, 104, 254, 20);
			getContentPane().add(textCod);
			textCod.setColumns(10);
			textCod.addActionListener(this);
			
			JLabel lblCodiceFiscale = new JLabel("Codice fiscale");
			lblCodiceFiscale.setBounds(37, 107, 70, 14);
			getContentPane().add(lblCodiceFiscale);
			
			textCognome = new JTextField(""+rigaSelezionata.getCognome());
			textCognome.setBounds(140, 63, 254, 20);
			getContentPane().add(textCognome);
			textCognome.setColumns(10);
			textCognome.addActionListener(this);
			
			JLabel lblCognome = new JLabel("Cognome");
			lblCognome.setBounds(47, 66, 46, 14);
			getContentPane().add(lblCognome);
			
			textNome = new JTextField(""+rigaSelezionata.getNome());
			textNome.setBounds(140, 21, 254, 20);
			getContentPane().add(textNome);
			textNome.setColumns(10);
			textNome.addActionListener(this);
			
			JLabel lblNome = new JLabel("Nome");
			lblNome.setBounds(61, 24, 46, 14);
			getContentPane().add(lblNome);
		}

	
	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		if(arg0.getSource()==textNome)
			nomeUtente=textNome.getText();
		if(arg0.getSource()==textCognome)
			cognomeUtente=textCognome.getText();
		if(arg0.getSource()==textIndirizzo)
			indirizzo=textIndirizzo.getText();
		if(arg0.getSource()==textCod)
			codiceFiscale=textCod.getText();
		if(arg0.getSource()==textData)
			dataNascita=textData.getText();
		if(arg0.getSource()==textPass)
			passwordU=textPass.getText();
		
	}
	}
	private class ModificaUtente extends JFrame implements ActionListener{
		private JButton conferma, annulla;
		private JTextField textField,textField1;
		String testo;
		int n=0;
		String codicefiscale;
		String vecchiaPassword;
		public ModificaUtente(String codiceFiscale, final int n){
			setResizable(false);
			setIconImage(Toolkit.getDefaultToolkit().getImage(ProgettoGUI.class.getResource("/Graphics/architetto-utente-singolo_t.png")));
			this.n=n;
			codicefiscale=codiceFiscale;
			setTitle("Modifica Dati Utente");
			getContentPane().setLayout(null);
			if(n!=4){
				setSize(338,160);
			}else {
				setSize(338,186);
			}
			setLocation(400,400);
			
			JPanel panel1 = new JPanel();
			if(n!=4){
				panel1.setBounds(10, 11, 282, 48);
			} else {
				panel1.setBounds(10, 11, 302, 75);
			}
			if(n==0){
			JLabel lblNewLabel = new JLabel("Nome:                    ");
			panel1.add(lblNewLabel);
			}
			if(n==1){
				JLabel lblNewLabel = new JLabel("Cognome:            ");
				panel1.add(lblNewLabel);
			}
			if(n==2){
				JLabel lblNewLabel = new JLabel("Indirizzo:                  ");
				panel1.add(lblNewLabel);
			}
			if(n==3){
				JLabel lblNewLabel = new JLabel("Data Nascita:            YYMMAAAA"     );
				panel1.add(lblNewLabel);
			}
			if(n==4){
				JLabel lblNewLabel = new JLabel("Nuova Password:    "     );
				
				panel1.add(lblNewLabel);
				
			}
			
			textField = new JTextField("",16);
			panel1.add(textField);
			
			textField1=new JTextField("",16);
			textField1.addActionListener(new ActionListener(){

				@Override
				public void actionPerformed(ActionEvent arg0) {
					vecchiaPassword=textField1.getText();
					
				}
				
			});
			JLabel lblNewLabel1 = new JLabel("Vecchia Password:"     );
			if(n==4){
				panel1.add(lblNewLabel1);
				panel1.add(textField1);
				
			}
			
			add(panel1);
			textField.addActionListener(this);
			
			JPanel panel2 = new JPanel();
			panel2.setLayout(new FlowLayout());
			if(n!=4){
				panel2.setBounds(10, 68, 302, 60);
			}else {
				panel2.setBounds(10, 82, 302, 60);
			}
			
			conferma = new JButton("conferma");
			conferma.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
			conferma.setMnemonic('c');
			//annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
			//annulla.setBorderPainted(false);
			conferma.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/ok.png")));
			conferma.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
					try{
				try {
					if(n==0){
						mp.modificaNome(conn, codicefiscale, testo);
						setVisible(false);
					}
					if(n==1){
						mp.modificaCognome(conn, codicefiscale, testo);
						setVisible(false);
					}
					if(n==3){
						mp.modificaDataNascita(conn, codicefiscale, testo);
						setVisible(false);
					}
					if(n==2){
						mp.modificaIndirizzo(conn, codicefiscale, testo);
						setVisible(false);
					}
					if(n==4){
						try{
						mp.ModificaPassword(conn, codicefiscale, vecchiaPassword, testo);
						setVisible(false);
						}catch(RuntimeException p){
							JOptionPane.showMessageDialog(null, "Passord sbagliata, prego controllare");
						}
					}
				} catch (SQLException e1) {
					e1.printStackTrace();
				}
					}catch(NullPointerException e3){
						JOptionPane.showMessageDialog(null, "Campo vuoto");
					}
				 
				}
			});	 
			
			
			
			annulla = new JButton("annulla");
			annulla.setIcon(new ImageIcon(ProgettoGUI.class.getResource("/Graphics/indietro.png")));
			annulla.setMnemonic('a');
			annulla.setToolTipText("Selezionare per entrare nella gestione del blockbuster");
			//annulla.setBorderPainted(false);
			annulla.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
			annulla.addActionListener(new ActionListener(){
					public void actionPerformed(ActionEvent e) {
						if(e.getSource()==annulla){
							setVisible(false);
						}
					}
					});
			
			panel2.add(annulla);
			panel2.add(conferma);
			add(panel2);
			
			
		}

		@Override
		public void actionPerformed(ActionEvent e) {
			if(e.getSource()==textField)
				testo=textField.getText();
			
		}
		
	}

}

